#include <bits/stdc++.h>
using namespace std;
#define ios ios::sync_with_stdio(0)
#define endl '\n'
#define int long long
#define ar array<int, 2>
#define arr array<int, 3>
const int N = 2e5 + 5, M = 2 * N;
const int inf = 0x3f3f3f3f3f3f3f3f;
int mod = 998244353; //1e9+7;
int t, n, m, k;
signed main()
{
ios;
#ifdef DEBUG
freopen("../1.in", "r", stdin);
#endif
cin >> t;
while (t--)
{
// 这种全子集 一般都是
// 还是贡献的角度。。
// 比如i j 一对 那么 左边i个 右边 n-i+1个 。。组成的所有区间 都会贡献。
// 如果后面还有 k 也是 。也都是要再次算入。。
// 因为虽然是同一个区间和i j 但是他们算的是两个不同的对子。。
// 而且这边采用前缀和 是以后面那个主视角的枚举。。。也是技巧。
cin >> n;
map<int, int> f;
int ans = 0;
for (int i = 1; i <= n; ++i)
{
int x;
cin >> x;
ans += f[x] * (n - i + 1);
f[x] += i;
}
cout << ans << endl;
}
};
1350A - Orac and Factors | 1373A - Donut Shops |
26A - Almost Prime | 1656E - Equal Tree Sums |
1656B - Subtract Operation | 1656A - Good Pairs |
1367A - Short Substrings | 87A - Trains |
664A - Complicated GCD | 1635D - Infinite Set |
1462A - Favorite Sequence | 1445B - Elimination |
1656C - Make Equal With Mod | 567A - Lineland Mail |
1553A - Digits Sum | 1359B - New Theatre Square |
766A - Mahmoud and Longest Uncommon Subsequence | 701B - Cells Not Under Attack |
702A - Maximum Increase | 1656D - K-good |
1426A - Floor Number | 876A - Trip For Meal |
1326B - Maximums | 1635C - Differential Sorting |
961A - Tetris | 1635B - Avoid Local Maximums |
20A - BerOS file system | 1637A - Sorting Parts |
509A - Maximum in Table | 1647C - Madoka and Childish Pranks |